using System;
using System.Collections.Generic; 
using System.Collections;
using System.Linq;
using System.Diagnostics;
using System.Xml;
using System.Xml.Schema; 
using System.Xml.Linq; 
using System.Xml.XPath;
using Metaspec;
using AbstraX.ParserInterfaces;

namespace CsParser
{
	/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']
	/// Name=CsEntityMethod
	/// 
	/// ****************** DataType ******************
	/// 
	/// Type='CsEntityMethod'
	/// FQN='Metaspec.CsEntityMethod'
	/// IsCollectionType='False'
	/// 
	/// 
	/// ****************** Description ******************
	/// 
	/// Field Type
	/// 
	/// 
	/// ****************** Modifiers ******************
	/// 
	/// CanRead=false
	/// CanWrite=false
	/// IsLocal=false
	/// NotNavigable=false
	/// NotApplicable=false
	/// 
	/// **********************************************
 	public class CodeEntityMethod : CodeEntity, ICodeEntityMethod
	{
		private CsEntityMethod csEntityMethod;

        public CodeEntityMethod(CsEntityMethod csEntityMethod) : base(csEntityMethod)
        {
            this.csEntityMethod = csEntityMethod;
        }

		/// ------------------------------------ PropertyBinding ------------------------------------
		/// 
		/// Name: n_method_generic_params
		/// BindingMode: TwoWay
		/// BindingSourceType: AbstraXBindingSource
		/// IsSearchable: false
		/// 
		/// ****************** BindingAttribute ******************
		/// 
		/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldAttribute[@Field='n_method_generic_params']
		/// Name=n_method_generic_params
		/// 
		/// ****************** DataType ******************
		/// 
		/// Type='UInt16'
		/// TypeCode='Empty'
		/// 
		/// 
		/// ****************** Modifiers ******************
		/// 
		/// CanRead=true
		/// CanWrite=true
		/// IsLocal=true
		/// NotNavigable=false
		/// NotApplicable=false
		/// 
		/// **********************************************
		/// 
		/// *****************************************************
		/// 
		/// 
		/// ----------------------------------------------------------------------------------
        public UInt16 N_method_generic_params 
        { 
            get
            {
				return csEntityMethod.n_method_generic_params;
            }
            set
            {
				csEntityMethod.n_method_generic_params = value;
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'specifier' returns type: 'Metaspec.CsEntityMethodSpecifier'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityMethodSpecifier Specifier 
        { 
            get
            {
				return new CsEntityMethodSpecifier(csEntityMethod.specifier);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'parameters' returns type: 'Metaspec.CsEntityFormalParameter'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityFormalParameter[][] Parameters 
        { 
            get
            {
                
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'block' returns type: 'Metaspec.CsEntityBlock'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityBlock Block 
        { 
            get
            {
				return new CsEntityBlock(csEntityMethod.block);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'owner' returns type: 'Metaspec.CsEntity'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntity Owner 
        { 
            get
            {
				return new CsEntity(csEntityMethod.owner);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'base_method' returns type: 'Metaspec.CsEntityMethod'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityMethod Base_method 
        { 
            get
            {
				return new CsEntityMethod(csEntityMethod.base_method);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'method_generic_params' returns type: 'Metaspec.CsEntityGenericParam'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityGenericParam[][] Method_generic_params 
        { 
            get
            {
                
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'scope_table' returns type: 'Metaspec.ScopeHashTable'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public ScopeHashTable Scope_table 
        { 
            get
            {
				return new ScopeHashTable(csEntityMethod.scope_table);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'attributes' returns type: 'Metaspec.CsEntityAttribute'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public LinkedList<CsEntityAttribute> Attributes 
        { 
            get
            {
                
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'decl' returns type: 'Metaspec.CsNode'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsNode Decl 
        { 
            get
            {
				return new CsNode(csEntityMethod.decl);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'implementation' returns type: 'Metaspec.CsNode'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsNode Implementation 
        { 
            get
            {
				return new CsNode(csEntityMethod.implementation);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'CsEntityFormalParameterList' returns type: 'Metaspec.CsEntityFormalParameter'
		/// CanRead: true
		/// CanWrite: false
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntityFormalParameter[][] CsEntityFormalParameterList 
        { 
            get
            {
                
            }
        }

    }
}
